<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style>
        
    </style>
</head>
<body>
    
</body>
<script>
    // 1. 为抵抗洪水，战士连续作战89小时，编程计算共多少天零多少小时？
    var hour = 89;
    var h = hour%24;
    var d = (hour - h)/24;
    console.log(d + "天" + h + "小时");

    console.log("----------------");


    // 2. 华氏温度（80度）转换为摄氏度，并以华氏度和摄氏度为单位分别显示该温度。
    //     - 提示：摄氏度与华氏度的转换公式为：摄氏度 = 5/9.0*(华氏度-32)
    //     - 保留3位小数。
    var h = 80;
    var s = 5/9.0*(h-32);
    console.log(s.toFixed(3));

    console.log("----------------");

    // 3. 计算一个半径为80cm的圆的面积：pai * r * r
    var pai = 3.14;
    var r = 80;
    var s = pai * r * r;
    console.log(s);

    console.log("----------------");

    // 4. 圆的周长：2 * pai * r
    var c = 2 * pai * r;
    console.log(c);

    console.log("----------------");

    // 5. 角度转弧度，公式：jiao = (180 / pai) * hu
    var jiao = 180;
    var hu = jiao / (180 / pai);
    console.log(hu);

    console.log("----------------");

    // 6. 根据公式（身高-108）*2==体重，可以有10斤左右的浮动。来观察测试者体重是否合适
    var h = 180;
    var s = 140;
    var x = (h-108)*2;
    
    if(s-10 < x && x < s+10){
        console.log("身材标准");
    }else{
        console.log("身材不标准");
    }

    console.log("----------------");

    // 7. 输入年份，计算某一年是否为闰年
    // 8. 输入数字，显示星期几
    // 9. 输入成绩分数，判定成绩等级(if和switch两种写法)
    // 10. 输入月份，显示当月的天数（利用case穿透简化代码）

    // 将天数相同的月份放在一起，利用case的穿透简化代码
    var m = 2;
    switch(m){
        case 1:
        case 3:
        case 5:
        case 7:
        case 8:
        case 10:
        case 12:
            console.log("31天");break;
        case 4:
        case 6:
        case 9:
        case 11:
            console.log("30天");break;
        case 2:
            console.log("28天");
    }

    console.log("----------------");

    // 11. 工资标准是，每小时rate元RMB。每周工作时间40小时，如果要加班，超出部分按正常工资的1.5倍计（老板还算不错）。这周小贺上班的时间为hour小时，请编程序，输入rate和hour，输出小贺本周的薪水。
    var rate = 100;
    var hour = 40;
    var sum = 0;
    if(hour > 40){
        sum = 40 * rate + (hour-40) * 1.5 * rate;
    }else{
        sum = hour * rate;
    }
    console.log(sum);

    console.log("----------------");

    // 12. 数字日期，判断这个日期是这一年的第几天
    //     - 例如： 2016和02和11，计算后结果为42
    var year = 2016;
    var month = 12;
    var day = 31;
    // 总天数
    var sum = 0;
    switch(month){
        case 12:sum += 30;
        case 11:sum += 31;
        case 10:sum += 30;
        case 9:sum += 31;
        case 8:sum += 31;
        case 7:sum += 30;
        case 6:sum += 31;
        case 5:sum += 30;
        case 4:sum += 31;
        case 3:
            if(year%4 === 0 && year%100 !== 0 || year%400 === 0){
                sum += 29;
            }else{
                sum += 28;
            }
        case 2:sum += 31;
        case 1:sum += day;
    }
    console.log(sum);

    // 每个日期不需要加当月的总天数，只需要加前面所有月份的总天数，再加上日数，就可以了
    // 利用case的穿透
    // 判断12，11，10，9，.....
    // 通过累加操作，将月份的天数累加起来
    // 实现最终计算



</script>
</html>